лэхко
эвальте их дело в шляпе
написано с опорой на великий Prototype.js
function evalScripts( string ){
var reg = '<script[^>]*>([\\S\\s]*?)<\/script>',
matchAll = new RegExp( reg,'img'),
matchOne = new RegExp( reg,'im');
evalScripts=function(string){
var all=string.match(matchAll)||[],i=0;
while(all[i])
new Function("", (all[i++].match(matchOne)||['', ''])[1] )();
}
evalScripts(string);
}
пример, функция сжата
function evalScripts(d){var e=RegExp("<script[^>]*>([\\S\\s]*?)<\/script>","img"),f=/<script[^>]*>([\S\s]*?)<\/script>/im;evalScripts=function(b){for(var b=b.match(e)||[],c=0;b[c];)(new Function("",(b[c++].match(f)||["",""])[1]))()};evalScripts(d)}
evalScripts("тут скриптов нет"); // ничего не выдаст
evalScripts("adb<script>alert('тут один скрипт')</"+"script>kjkj");
evalScripts("adb<script>alert('А тут два. Это первый')</"+"script>kjkj<script>alert('Это второй')</"+"script>");